﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Business;

namespace OgrIsleri.DashBoard.Modul.Siniflar
{
    public partial class Liste : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack) return;

            BirimDoldur();
            VeriDoldur();

            if (Request.QueryString["Guncelle"] != null)
                Guncelle();
        }
        private void VeriDoldur()
        {
            using (DbEntities db = new DbEntities())
            {
                var data = db.tblSiniflars.OrderBy(o => o.BolumID).ToList();
                RptListe.DataSource = data;
                RptListe.DataBind();
            }
        }
        private void Sil()
        {
            using (DbEntities db = new DbEntities())
            {
                int SinifID = Convert.ToInt32(Request.QueryString["Guncelle"]);
                var data = db.tblSiniflars.Where(o => o.SinifID == SinifID).SingleOrDefault();
                db.tblSiniflars.Remove(data);
                db.SaveChanges();
            }
            Response.Redirect("Liste.aspx");
        }
        private void Guncelle()
        {
            using (DbEntities db = new DbEntities())
            {
                int SinifID = Convert.ToInt32(Request.QueryString["Guncelle"]);
                var data = db.tblSiniflars.Where(o => o.SinifID == SinifID).SingleOrDefault();

                DpBirimler.ClearSelection();
                DpBirimler.Items.FindByValue(data.tblBolumler.BirimID.ToString()).Selected = true;

                BolumDoldur((int)data.BolumID);
                DpBolumler.ClearSelection();
                DpBolumler.Items.FindByValue(data.BolumID.ToString()).Selected = true;

                txtAd.Text = data.SinifAdi;

                BtnKaydet.Text = "Düzenle";
            }
        }
        private void BirimDoldur()
        {
            using (DbEntities db = new DbEntities())
            {
                var veri = db.TblBirimlers.OrderBy(o => o.BirimAdi).ToList();
                DpBirimler.DataSource = veri;
                DpBirimler.DataTextField = "BirimAdi";
                DpBirimler.DataValueField = "BirimID";
                DpBirimler.DataBind();
            }
        }
        protected void BtnKaydet_Click(object sender, EventArgs e)
        {
            using (DbEntities db = new DbEntities())
            {
                if (Request.QueryString["Guncelle"] != null)
                {
                    int SinifID = Convert.ToInt32(Request.QueryString["Guncelle"]);
                    var data = db.tblSiniflars.Where(o => o.SinifID == SinifID).SingleOrDefault();
                    data.SinifAdi = txtAd.Text;
                    data.BolumID = Convert.ToInt32(DpBolumler.SelectedValue);
                    db.SaveChanges();
                }
                else
                {
                    var data = new tblSiniflar();
                    data.BolumID = Convert.ToInt32(DpBolumler.SelectedValue);
                    data.SinifAdi = txtAd.Text;
                    db.tblSiniflars.Add(data);
                    db.SaveChanges();
                }
            }
            Response.Redirect("Liste.aspx");
        }

        protected void DpBirimler_SelectedIndexChanged(object sender, EventArgs e)
        {
            BolumDoldur(Convert.ToInt32(DpBirimler.SelectedValue));
        }
        private void BolumDoldur(int BirimID)
        {
            using (DbEntities db = new DbEntities())
            {
               
                var veri = db.tblBolumlers.Where(o => o.BirimID == BirimID).OrderBy(o => o.BolumAdi).ToList();
                DpBolumler.DataSource = veri;
                DpBolumler.DataTextField = "BolumAdi";
                DpBolumler.DataValueField = "BolumID";
                DpBolumler.DataBind();
            }
        }
    }
}